Microcomputers generally comprises a processor and memory, the processor being arranged to operate in accordance with the sequence of instructions derived from a stored program. In operation the processor will normally need to make data transfers between registers and between registers and memory. It may also wish to transmit messages to or from processes carried out on other microcomputers. The speed of access to memories located external to the processor chip is much slower. Furthermore, microcomputers have commonly arranged for external communications to take place through a shared bus which can act as a bottleneck causing slower operation of the microcomputer.
Although the development of integrated circuit technology has led to more components being provided on a microcomputer chip, difficulties arise in providing a useful amount of memory on the same chip as the processor.
The size available on a single silicon chip is limited and memory arrays may comprise the largest and densest component required for a microcomputer. Consequently the incorporation of any memory on the same chip as a pdrocessor may occupy excessive area and may lead to too low a yield of satisfactory components from a silicon chip due to the increased risk of defective components arising from the incorporation of memory on the chip.
Furthermore, difficulties arise in trying to avoid unacceptable noise interfering with the operation of a memory array when an asynchronous circuit such as a processor is incorporated on the same chip.